home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / AGNUS / LIESMICH / GNUCC272.TXT < prev    next >
Encoding:
Text File  |  1996-09-20  |  3.4 KB  |  65 lines

  1. AGNUS - Zusatzinfos zu GNU-C/C++ 2.7.2 bzw. 2.72
  2. Volker Hemsen, 20.09.1996
  3.  
  4. Ich habe AGNUS an das vom Softwareservice Seidel vertriebene GNU-C++-
  5. Entwicklungspaket so weit wie möglich angepaßt. Folgendes ist zu
  6. beachten:
  7.  
  8. - Im Dialog 'Pfade & Environment' muß man die Version von Compiler und
  9.   Linker einstellen. Zu GNU-C 2.5.8 gehört normalerweise PL36 und zu
  10.   2.7.2 PL37. Dies wird benötigt um den Eigenarten der beiden Programm-
  11.   versionen gerecht zu werden.
  12. - Der einzigste größere Inkompatibilität des Compilers zu älteren GNU-
  13.   Versionen liegt darin, daß die Environment-Variablen GCC_EXEC_PREFIX,
  14.   GNUINC und GXXINC nicht richtig ausgewertet werden. AGNUS übergibt
  15.   die Pfade nochmals mit den Optionen '-Bprefix' und '-Ipath'.
  16. - Probleme gibt es mit dem Linker (PL38), da das System der Bibliotheks-
  17.   namen umgestellt wurde, und der Linker versucht, die mit '-l' übergebenen
  18.   Dateinamen zu korrigieren! Da AGNUS bisher die Existenz der zu den
  19.   eingestellten Optionen passenden Bibliotheken überprüfte und dann die
  20.   kompletten Dateinamen übergab, mußte hier einiges geändert werden, aber
  21.   jetzt sollte es laufen.
  22.   altes Format (PL36):    [b][m][g]<name>[16].olb
  23.   neues Format (PL38):    [b][m][g]lib<name>[16].a
  24.       b:  basisrelative Adressierung
  25.       m:  MiNT-Unterstützung
  26.       g:  GNU-Profiler-Unterstützung
  27.       16: 16bit Integer, statt 32
  28.     An den Linker bzw. an gcc werden nur noch die Namen der Bibliotheken
  29.     (also gnu, pml, iio usw.) übergeben. Den Rest scheint das System selbst
  30.     erledigen zu können.
  31.     Seltsamerweise enthält die Seidel-Distribution nur Bibliotheken mit den
  32.     alten Namen, so daß man diese erst umbenennen muß!
  33.     Beim Erzeugen einer Lib mit AGNUS wird der Dateiname ebenfalls nach dem
  34.     oben genannten Schema manipuliert!
  35. - Wie man leicht erkennt verlängern sich die Dateinamen um 3 Zeichen, so daß
  36.   man mit dem alten 8+3-Dateisystem Probleme bekommen kann. Aus diesem Grund
  37.   kennt AGNUS für einige Zusatz-Bibliotheken folgende Abkürzungen:
  38.   widget:        wdgt, wdg
  39.   curses:        crss, crs
  40.   termcap:       trmcp, trm
  41.   socket:        sck
  42.   xlib:          xlb    (umfangreiche Erweiterungsbibliothek des Autors)
  43.   Bsp: termcap-Lib, basisrel. Adr., 16Bit Integer:
  44.        altes Format: btrm16.olb, neues Format: blibtrm16.a
  45. - Die Bibliothek für die I/O-FPU '881' läuft nicht mit der gnu-Lib zusammen.
  46. - gcc gibt bei basisrelativer Adressierung die Option '-n' und bei 16bit
  47.   Integer '-H' an den Linker. Dies ist undokumentiert und erzeugt Probleme,
  48.   denn der symbolische Linker 'sym-ld' PL38 kann mit '-H' überhaupt nichts
  49.   anfangen und bricht die Arbeit ab. Was für'n Pfusch! Ansonsten läuft mit
  50.   gdb 3.6 alles gut zusammen.
  51. - Der Fortran-Compiler erzeugt aus dem Namen der 'subroutine main()' leider
  52.   das Symbol '_main_' statt '_main', so daß man entweder ein kleines Zwischen-
  53.   modul in Assembler verwenden muß, oder man manipuliert 'crt0' entsprechend.
  54. - Weitere Mängel sind mir bisher nicht aufgefallen.
  55.  
  56.  
  57. weitere Mängel des Seidel-Paketes:
  58. - keine C++-Includes und Libs (stand da nicht C++-Entwicklungspaket auf der CD?)
  59. - keine GEM und GEM++-Bibliothek
  60. - keine üblichen Zusatzbibliotheken (widget, curses, termcap)
  61. - mangelhafte Dokumentation
  62. - Ein Großteil der Daten ist einem riesigen tar-Archiv gepackt. Um dieses
  63.   zu entpacken, müßte ICH mir erst eine neue Platte kaufen!!!
  64. - 49 DM sind viel GELD für diesen kleinen Umfang.
  65.